package com.sdk4.jinritemai.model.request;

import com.sdk4.jinritemai.DoudianRequest;
import com.sdk4.jinritemai.model.bean.DoudianShippedOrderInfo;
import com.sdk4.jinritemai.model.response.DoudianOrderLogisticsCompanyListResponse2;
import lombok.Getter;
import lombok.Setter;

import java.util.List;

/**
 * @author huangji
 * @date 2021/7/26 16:59
 * <p>
 * 合单发货接口 支持多个子订单发同一个物流包裹
 */
@Getter
@Setter
public class DoudianOrderLogisticsAddSinglePackRequest2 implements DoudianRequest<DoudianOrderLogisticsCompanyListResponse2> {

    private final String method = "order.logisticsAddSinglePack";


    /**
     * 父订单ID列表，需在结尾带上大写字母A
     */
    private List<String> order_id_list;

    /**
     * 需要发货的子订单信息
     */
    private List<DoudianShippedOrderInfo> shipped_order_info;

    /**
     * 运单号
     */
    private String logisticsCode;


    /**
     * 物流公司名称
     */
    private String company;

    /**
     * 请求唯一标识
     */
    private String requestId;


    /**
     * 物流公司ID，由接口/order/logisticsCompanyList返回的物流公司列表中对应的ID
     */
    private Long logisticsId;


    /**
     * 物流公司Code，由接口/order/logisticsCompanyList返回的物流公司列表中对应的Code. ID和code必传一个, 优先使用code
     */
    private String company_code;

    /**
     * 发货地址id
     */
    private String address_id;


    /**
     * 是否拒绝退款申请（true表示拒绝退款，并继续发货；不传或为false表示有退款需要处理，拒绝发货），is_refund_reject和is_reject_refund随机使用一个即可
     */
    private Boolean is_refund_reject;


    private orderSerialNumber order_serial_number;


    public class orderSerialNumber {
        private String order_id;
        private List<String> serial_number_list;
    }


    @Override
    public Class<DoudianOrderLogisticsCompanyListResponse2> getResponseClass() {
        return DoudianOrderLogisticsCompanyListResponse2.class;
    }


}
